<?php
class MejoramientoAdecuacionesController extends AppController {

	var $name = 'MejoramientoAdecuaciones';
	var $uses = array('UsersEquiposOperativo', 'Zona', 'MejoramientoAdecuacione', 'CirculosAprendizaje','EquiposOperativo',
					'SedesIem', 'Iem', 'Municipio');
	var $helpers = array('MejoramientoAdecuacione', 'Xls', 'Access');

	function index($zonas=null) {
		$usuario_activo = $this->Access->getMy('username');
		//Verificacion de sesion del sistema		
		if(!$usuario_activo){
			$this->Session->setFlash(__('Por favor inicie sesion', true));
			$this->redirect(array('controller'=>'users','action' => 'login'));
		}
		$this->MejoramientoAdecuacione->recursive = 0;		
		$this->set('mejoramientoAdecuaciones', $this->paginate('MejoramientoAdecuacione'));
		$group_id= $this->Access->getMy('group_id');
		
		if($group_id == '1' && empty($zonas)){//Si es admin redireccionar a lista de zonas 
			$this->redirect(array('action'=> 'zonas_adecuacion'));
		}elseif ($group_id == '6'){
			$user_id= $this->Access->getMy('id');
			$zonas = $this->UsersEquiposOperativo->find('first',array('conditions'=>array('UsersEquiposOperativo.user_id'=>$user_id)));
			$zonas = $this->Zona->find('first',array('conditions'=>array('Zona.id'=>$zonas['EquiposOperativo']['zona_id'])));
			$zonas = $zonas['Zona']['id'];			
		}	
		$mejoramientoAdecuaciones=$this->MejoramientoAdecuacione->find('all',array('conditions'=>array('MejoramientoAdecuacione.zona_id'=>$zonas)));
				
		$registros=array();		
		foreach ($mejoramientoAdecuaciones AS $mejoramientoAdecuacione){
			$registro = $mejoramientoAdecuacione['MejoramientoAdecuacione']['fecha'];				
			$registros[] = $registro; 					
		}			
		
		$registros = array_unique($registros);	
		
		$this->set(compact('zonas','registros'));		
	}

	function view($id = null) {
		$usuario_activo = $this->Access->getMy('username');
		//Verificacion de sesion del sistema		
		if(!$usuario_activo){
			$this->Session->setFlash(__('Por favor inicie sesion', true));
			$this->redirect(array('controller'=>'users','action' => 'login'));
		}
		if (!$id) {
			$this->Session->setFlash(__('Invalid mejoramiento adecuacione', true));
			$this->redirect(array('action' => 'index'));
		}
		$this->set('mejoramientoAdecuacione', $this->MejoramientoAdecuacione->read(null, $id));
	}

	function add($zona=null) {
		$usuario_activo = $this->Access->getMy('username');
		//Verificacion de sesion del sistema		
		if(!$usuario_activo){
			$this->Session->setFlash(__('Por favor inicie sesion', true));
			$this->redirect(array('controller'=>'users','action' => 'login'));
		}
		if (!empty($this->data)) {			
			$form = $this->data;				
			$fecha=$form['MejoramientoAdecuacione']['fecha'];
			$zona = $form['zona'];			
			if(is_array($form['nombre_iem'])) {								
				foreach ($form['nombre_iem'] as $iem){													
					$iem_id = $this->Iem->find('first',array('conditions'=>array('Iem.nombre'=>$iem)));
					$iem_id = $iem_id['Iem']['id'];
								
					$intramuro = (!empty($form['intramuro'][$iem])) ? $form['intramuro'][$iem] : '0';					
					$extramuro = (!empty($form['extramuro'][$iem])) ? $form['extramuro'][$iem] : '0';
					$adecuaciones = (!empty($form['adecuaciones'][$iem])) ? $form['adecuaciones'][$iem] : NULL;
					$costos = (!empty($form['costos'][$iem])) ? $form['costos'][$iem] : '0';										

					$registro['MejoramientoAdecuacione']= array('zona_id'=>$zona,'iem_id'=>$iem_id,'fecha'=>$fecha,
											'intramuro'=>$intramuro,'extramuro'=>$extramuro,'adecuacion_locativa'=>$adecuaciones, 
											'costo'=>$costos);					
					
					$this->MejoramientoAdecuacione->create();								
					$this->MejoramientoAdecuacione->save($registro);							
				}	
				$this->Session->setFlash(__('The mejoramiento adecuacione has been saved', true));
				$this->redirect(array('action' => 'index'));		
			} else {
				$this->Session->setFlash(__('The mejoramiento adecuacione could not be saved. Please, try again.', true));
			}
		}		
		
		$eo = $this->EquiposOperativo->find('list',array('fields'=>array('EquiposOperativo.id'),'conditions'=>array('EquiposOperativo.zona_id'=>$zona)));
		
		$instituciones = $this->CirculosAprendizaje->find('all',array('conditions'=>array('CirculosAprendizaje.equipos_operativo_id'=>$eo)));
		
		$nombre_iem2=array();		
		foreach ($instituciones AS $institucion){
			$id_iem = $institucion['CirculosAprendizaje']['sedes_iem_id'];
			$id_iem = $this->SedesIem->find('first',array('conditions'=>array('SedesIem.id'=>$id_iem)));
			$nombre_iem = $id_iem['Iem']['nombre'];			
			$nombre_iem2[] = $nombre_iem; 					
		}			
		
		$nombre_iem2 = array_unique($nombre_iem2);		
		
		$this->set(compact('zona', 'nombre_iem2'));
	}

	function edit($fecha=null, $zona = null) {
		$usuario_activo = $this->Access->getMy('username');
		//Verificacion de sesion del sistema		
		if(!$usuario_activo){
			$this->Session->setFlash(__('Por favor inicie sesion', true));
			$this->redirect(array('controller'=>'users','action' => 'login'));
		}
		if (!$fecha && !$zona && empty($this->data)) {
			$this->Session->setFlash(__('Invalid mejoramiento adecuacione', true));
			$this->redirect(array('action' => 'index'));
		}
		if (!empty($this->data)) {
			$form = $this->data;			
			if(is_array($form['id'])) {								
				foreach ($form['id'] as $iem){																		
					$intramuro = (!empty($form['intramuro'][$iem])) ? $form['intramuro'][$iem] : '0';					
					$extramuro = (!empty($form['extramuro'][$iem])) ? $form['extramuro'][$iem] : '0';
					$adecuaciones = (!empty($form['adecuaciones'][$iem])) ? $form['adecuaciones'][$iem] : NULL;
					$costos = (!empty($form['costos'][$iem])) ? $form['costos'][$iem] : '0';
					
					$this->MejoramientoAdecuacione->id = $form['id'][$iem];					
						
					$this->MejoramientoAdecuacione->saveField('intramuro',$intramuro);
					$this->MejoramientoAdecuacione->saveField('extramuro',$extramuro);
					$this->MejoramientoAdecuacione->saveField('adecuacion_locativa',$adecuaciones);
					$this->MejoramientoAdecuacione->saveField('costo',$costos);
				}	
				$this->Session->setFlash(__('Los registros fueron guardados', true));
				$this->redirect(array('action' => 'index'));		
			}else {
				$this->Session->setFlash(__('No se ha podido guardar', true));
			}
		}		
				
		$registros = $this->MejoramientoAdecuacione->find('all',array('conditions'=>array('MejoramientoAdecuacione.fecha'=>$fecha, 'AND'=>array('MejoramientoAdecuacione.zona_id'=>$zona))));
		$this->set(compact('registros'));
	}

	function delete($id = null) {
		if (!$id) {
			$this->Session->setFlash(__('Invalid id for mejoramiento adecuacione', true));
			$this->redirect(array('action'=>'index'));
		}
		if ($this->MejoramientoAdecuacione->delete($id)) {
			$this->Session->setFlash(__('Mejoramiento adecuacione deleted', true));
			$this->redirect(array('action'=>'index'));
		}
		$this->Session->setFlash(__('Mejoramiento adecuacione was not deleted', true));
		$this->redirect(array('action' => 'index'));
	}
	
	function zonas_adecuacion(){
		$usuario_activo = $this->Access->getMy('username');
		//Verificacion de sesion del sistema		
		if(!$usuario_activo){
			$this->Session->setFlash(__('Por favor inicie sesion', true));
			$this->redirect(array('controller'=>'users','action' => 'login'));
		}
		$zona_id = $this->Zona->find('all');
		$this->set(compact('zona_id'));
	}
	
	function zonas(){
		$usuario_activo = $this->Access->getMy('username');
		//Verificacion de sesion del sistema		
		if(!$usuario_activo){
			$this->Session->setFlash(__('Por favor inicie sesion', true));
			$this->redirect(array('controller'=>'users','action' => 'login'));
		}
		$zona_id = $this->Zona->find('all');
		$this->set(compact('zona_id'));
	}
	
	
	function index_adecuacion($zonas=null) {
		$usuario_activo = $this->Access->getMy('username');
		//Verificacion de sesion del sistema		
		if(!$usuario_activo){
			$this->Session->setFlash(__('Por favor inicie sesion', true));
			$this->redirect(array('controller'=>'users','action' => 'login'));
		}
		$this->MejoramientoAdecuacione->recursive = 0;		
		$this->set('mejoramientoAdecuaciones', $this->paginate('MejoramientoAdecuacione'));
		$group_id= $this->Access->getMy('group_id');
		
		if($group_id == '1' && empty($zonas)){//Si es admin redireccionar a lista de zonas 
			$this->redirect(array('action'=> 'zonas'));
		}elseif ($group_id == '6'){
			$user_id= $this->Access->getMy('id');
			$zonas = $this->UsersEquiposOperativo->find('first',array('conditions'=>array('UsersEquiposOperativo.user_id'=>$user_id)));
			$zonas = $this->Zona->find('first',array('conditions'=>array('Zona.id'=>$zonas['EquiposOperativo']['zona_id'])));
			$zonas = $zonas['Zona']['id'];			
		}	
		$mejoramientoAdecuaciones=$this->MejoramientoAdecuacione->find('all',array('conditions'=>array('MejoramientoAdecuacione.zona_id'=>$zonas)));
		$this->set(compact('zonas','mejoramientoAdecuaciones'));		
	}
	
	function formulario6($fecha=null, $zona=NULL){
		$usuario_activo = $this->Access->getMy('username');
		//Verificacion de sesion del sistema		
		if(!$usuario_activo){
			$this->Session->setFlash(__('Por favor inicie sesion', true));
			$this->redirect(array('controller'=>'users','action' => 'login'));
		}
		$registros=$this->MejoramientoAdecuacione->find('all',array('conditions'=>array('MejoramientoAdecuacione.zona_id'=>$zona, 
														'AND'=>array('MejoramientoAdecuacione.fecha'=>$fecha))));		
		
		foreach ($registros as $registro) {
			$zona=$registro['Zona']['municipio_id'];
			$fecha_registro=$registro['MejoramientoAdecuacione']['fecha'];
		}
		
		$zona=$this->Municipio->find('first',array('conditions'=>array('Municipio.id'=>$zona)));
		$departamento=$zona['Departamento']['nombre'];
		$municipio=$zona['Municipio']['nombre'];		
		
		$this->set(compact('registros','municipio','departamento','fecha_registro'));	
	}	
}
?>